package com.axsoft.jobimp;


/**
 * 
 * @author RankoR
 *
 * Protocol Constants
 */
public final class Constants {

	public static final int PROTOCOL_VERSION = 0x10E;
	
	public static final int OBIMP_BEX_MAX_DEF_DATA_LEN = 0x00020000;
	public static final int OBIMP_BEX_MAX_SET_DATA_LEN = 0x00020000;

	public static final byte OBIMP_BEX_ID = 0x23;
	
	
	/**
	 * General BEX Types
	 */
	
	public static final short OBIMP_BEX_COM = 0x0001;		// Common
	public static final short OBIMP_BEX_CL = 0x0002;		// Contact List
	public static final short OBIMP_BEX_PRES = 0x0003;		// Presence
	public static final short OBIMP_BEX_IM = 0x0004;		// IM
	public static final short OBIMP_BEX_UD	 = 0x0005;		// Users directory
	public static final short OBIMP_BEX_UA	 = 0x0006;		// Users avatars
	public static final short OBIMP_BEX_FT	 = 0x0007;		// File transfer
	
	
	/**
	 * OBIMP_BEX_COM sub types
	 */
	
	public static final short OBIMP_BEX_COM_CLI_HELLO = 0x0001;
	public static final short OBIMP_BEX_COM_SRV_HELLO = 0x0002;
	public static final short OBIMP_BEX_COM_CLI_LOGIN = 0x0003;
	public static final short OBIMP_BEX_COM_SRV_LOGIN_REPLY = 0x0004;
	public static final short OBIMP_BEX_COM_SRV_BYE = 0x0005;
	public static final short OBIMP_BEX_COM_CLI_SRV_KEEPALIVE_PING = 0x0006;
	public static final short OBIMP_BEX_COM_CLI_SRV_KEEPALIVE_PONG = 0x0007;
	public static final short OBIMP_BEX_COM_CLI_REGISTER = 0x0008;
	public static final short OBIMP_BEX_COM_SRV_REGISTER_REPLY = 0x0009;
	
	/**
	 * OBIMP_BEX_CL sub types
	 */
	
	public static final short OBIMP_BEX_CL_CLI_PARAMS = 0x0001;
	public static final short OBIMP_BEX_CL_SRV_PARAMS_REPLY = 0x0002;
	public static final short OBIMP_BEX_CL_CLI_REQUEST = 0x0003;
	public static final short OBIMP_BEX_CL_SRV_REPLY = 0x0004;
	public static final short OBIMP_BEX_CL_CLI_VERIFY = 0x0005;
	public static final short OBIMP_BEX_CL_SRV_VERIFY_REPLY = 0x0006;
	public static final short OBIMP_BEX_CL_CLI_ADD_ITEM = 0x0007;
	public static final short OBIMP_BEX_CL_SRV_ADD_ITEM_REPLY = 0x0008;
	public static final short OBIMP_BEX_CL_CLI_DEL_ITEM = 0x0009;
	public static final short OBIMP_BEX_CL_SRV_DEL_ITEM_REPLY = 0x000A;
	public static final short OBIMP_BEX_CL_CLI_UPD_ITEM = 0x000B;
	public static final short OBIMP_BEX_CL_SRV_UPD_ITEM_REPLY = 0x000C;
	public static final short OBIMP_BEX_CL_CLI_SRV_AUTH_REQUEST = 0x000D;
	public static final short OBIMP_BEX_CL_CLI_SRV_AUTH_REPLY = 0x000E;
	public static final short OBIMP_BEX_CL_CLI_SRV_AUTH_REVOKE = 0x000F;
	public static final short OBIMP_BEX_CL_CLI_REQ_OFFAUTH = 0x0010;
	public static final short OBIMP_BEX_CL_SRV_DONE_OFFAUTH = 0x0011;
	public static final short OBIMP_BEX_CL_CLI_DEL_OFFAUTH = 0x0012;
	
	/**
	 * OBIMP_BEX_PRES sub types
	 */
	
	public static final short OBIMP_BEX_PRES_CLI_PARAMS = 0x0001;
	public static final short OBIMP_BEX_PRES_SRV_PARAMS_REPLY = 0x0002;
	public static final short OBIMP_BEX_PRES_CLI_SET_CAPS = 0x0003;
	public static final short OBIMP_BEX_PRES_CLI_SET_STATUS = 0x0004;
	public static final short OBIMP_BEX_PRES_CLI_ACTIVATE = 0x0005;
	public static final short OBIMP_BEX_PRES_SRV_CONTACT_ONLINE = 0x0006;
	public static final short OBIMP_BEX_PRES_SRV_CONTACT_OFFLINE = 0x0007;
	
	/**
	 * OBIMP_BEX_IM sub types
	 */
	
	public static final short OBIMP_BEX_IM_CLI_PARAMS = 0x0001;
	public static final short OBIMP_BEX_IM_SRV_PARAMS_REPLY = 0x0002;
	public static final short OBIMP_BEX_IM_CLI_REQ_OFFLINE = 0x0003;
	public static final short OBIMP_BEX_IM_SRV_DONE_OFFLINE = 0x0004;
	public static final short OBIMP_BEX_IM_CLI_DEL_OFFLINE = 0x0005;
	public static final short OBIMP_BEX_IM_CLI_MESSAGE = 0x0006;
	public static final short OBIMP_BEX_IM_SRV_MESSAGE = 0x0007;
	public static final short OBIMP_BEX_IM_CLI_SRV_MSG_REPORT = 0x0008;
	public static final short OBIMP_BEX_IM_CLI_SRV_NOTIFY = 0x0009;
	public static final short OBIMP_BEX_IM_CLI_SRV_ENCRYPT_KEY_REQ = 0x000A;
	public static final short OBIMP_BEX_IM_CLI_SRV_ENCRYPT_KEY_REPLY = 0x000B;
	public static final short OBIMP_BEX_IM_CLI_MULTIPLE_MSG = 0x000C;
	
	/**
	 * OBIMP_BEX_UD sub types
	 */
	
	public static final short OBIMP_BEX_UD_CLI_PARAMS = 0x0001;
	public static final short OBIMP_BEX_UD_SRV_PARAMS_REPLY = 0x0002;
	public static final short OBIMP_BEX_UD_CLI_DETAILS_REQ = 0x0003;
	public static final short OBIMP_BEX_UD_SRV_DETAILS_REQ_REPLY= 0x0004;
	public static final short OBIMP_BEX_UD_CLI_DETAILS_UPD = 0x0005;
	public static final short OBIMP_BEX_UD_SRV_DETAILS_UPD_REPLY = 0x0006;
	public static final short OBIMP_BEX_UD_CLI_SEARCH = 0x0007;
	public static final short OBIMP_BEX_UD_SRV_SEARCH_REPLY = 0x0008;
	public static final short OBIMP_BEX_UD_CLI_SECURE_UPD = 0x0009;
	public static final short OBIMP_BEX_UD_SRV_SECURE_UPD_REPLY = 0x000A;
	
	/**
	 * OBIMP_BEX_UA sub types
	 */
	
	public static final short OBIMP_BEX_UA_CLI_PARAMS = 0x0001;
	public static final short OBIMP_BEX_UA_SRV_PARAMS_REPLY = 0x0002;
	public static final short OBIMP_BEX_UA_CLI_AVATAR_REQ = 0x0003;
	public static final short OBIMP_BEX_UA_SRV_AVATAR_REPLY = 0x0004;
	public static final short OBIMP_BEX_UA_CLI_AVATAR_SET = 0x0005;
	public static final short OBIMP_BEX_UA_SRV_AVATAR_SET_REPLY = 0x0006;
	
	/**
	 * OBIMP_BEX_FT sub types
	 */
	
	public static final short OBIMP_BEX_FT_CLI_PARAMS = 0x0001;
	public static final short OBIMP_BEX_FT_SRV_PARAMS_REPLY = 0x0002;
	public static final short OBIMP_BEX_FT_CLI_SRV_SEND_FILE_REQUEST = 0x0003;
	public static final short OBIMP_BEX_FT_CLI_SRV_SEND_FILE_REPLY = 0x0004;
	public static final short OBIMP_BEX_FT_CLI_SRV_CONTROL = 0x0005;
	
	/**
	 * OBIMP_BEX_FT direct/proxy connection sub types
	 */
	
	public static final short OBIMP_BEX_FT_DIR_PROX_ERROR = 0x0101;
	public static final short OBIMP_BEX_FT_DIR_PROX_HELLO = 0x0102;
	public static final short OBIMP_BEX_FT_DIR_PROX_FILE = 0x0103;
	public static final short OBIMP_BEX_FT_DIR_PROX_FILE_REPLY = 0x0104;
	public static final short OBIMP_BEX_FT_DIR_PROX_FILE_DATA = 0x0105;
	
	
	/**
	 * OBIMP_BEX_ADM sub types
	 */
	
	public static final short OBIMP_BEX_WADM_CLI_LOGIN = 0x0001;
	public static final short OBIMP_BEX_WADM_SRV_LOGIN_REPLY = 0x0002;
	public static final short OBIMP_BEX_WADM_CLI_PARAMS = 0x0003;
	public static final short OBIMP_BEX_WADM_SRV_PARAMS_REPLY = 0x0004;
	public static final short OBIMP_BEX_WADM_CLI_SET = 0x0005;
	public static final short OBIMP_BEX_WADM_SRV_SET_REPLY = 0x0006;
	public static final short OBIMP_BEX_WADM_CLI_BROADCAST = 0x0007;
	public static final short OBIMP_BEX_WADM_SRV_BROADCAST_REPLY = 0x0008;
	public static final short OBIMP_BEX_WADM_CLI_USER = 0x0009;
	public static final short OBIMP_BEX_WADM_SRV_USER_REPLY = 0x000A;
	public static final short OBIMP_BEX_WADM_SRV_STATE = 0x000B;
	public static final short OBIMP_BEX_WADM_CLI_LIST = 0x000C;
	public static final short OBIMP_BEX_WADM_SRV_LIST_REPLY = 0x000D;
	
	/**
	 * Hello error codes
	 */
	
	public static final short HELLO_ERROR_ACCOUNT_INVALID = 0x0001;
	public static final short HELLO_ERROR_SERVICE_TEMP_UNAVAILABLE = 0x0002;
	public static final short HELLO_ERROR_ACCOUNT_BANNED = 0x0003;
	public static final short HELLO_ERROR_WRONG_COOKIE = 0x0004;
	public static final short HELLO_ERROR_TOO_MANY_CLIENTS = 0x0005;
	public static final short HELLO_ERROR_INVALID_LOGIN = 0x0006;
	
	/**
	 * Login error codes
	 */
	
	public static final short LOGIN_ERROR_ACCOUNT_INVALID = 0x0001;
	public static final short LOGIN_ERROR_SERVICE_TEMP_UNAVAILABLE = 0x0002;
	public static final short LOGIN_ERROR_ACCOUNT_BANNED = 0x0003;
	public static final short LOGIN_ERROR_WRONG_PASSWORD = 0x0004;
	public static final short LOGIN_ERROR_INVALID_LOGIN = 0x0005;
	
	/**
	 * Bye reason codes
	 */
	
	public static final short BYE_REASON_SRV_SHUTDOWN = 0x0001;
	public static final short BYE_REASON_CLI_NEW_LOGIN = 0x0002;
	public static final short BYE_REASON_ACCOUNT_KICKED = 0x0003;
	public static final short BYE_REASON_INCORRECT_SEQ = 0x0004;
	public static final short BYE_REASON_INCORRECT_BEX_TYPE = 0x0005;
	public static final short BYE_REASON_INCORRECT_BEX_SUB = 0x0006;
	public static final short BYE_REASON_INCORRECT_BEX_STEP = 0x0007;
	public static final short BYE_REASON_TIMEOUT = 0x0008;
	public static final short BYE_REASON_INCORRECT_WTLD = 0x0009;
	public static final short BYE_REASON_NOT_ALLOWED = 0x000A;
	public static final short BYE_REASON_FLOODING = 0x000B;
	
	/**
	 * Registration result codes
	 */
	
	public static final short REG_RES_SUCCESS = 0x0000;
	public static final short REG_RES_DISABLED = 0x0001;
	public static final short REG_RES_ACCOUNT_EXISTS = 0x0002;
	public static final short REG_RES_BAD_ACCOUNT_NAME = 0x0003;
	public static final short REG_RES_BAD_REQUEST = 0x0004;
	public static final short REG_RES_BAD_SERVER_KEY = 0x0005;
	public static final short REG_RES_SERVICE_TEMP_UNAVAILABLE = 0x0006;
	
	/**
	 * Administrative status codes
	 */
	
	public static final short ADM_RES_CODE_SUCCESS = 0x0000;
	public static final short ADM_RES_CODE_BAD_KEY = 0x0001;
	
	/**
	 * Setting change result codes
	 */
	
	public static final short SET_CHANGE_SUCCESS = 0x0000;
	public static final short SET_CHANGE_NOT_ALLOWED = 0x0001;
	
	/**
	 * Broadcast flags
	 */
	
	public static final short BROADCAST_MSG_TO_ALL = 0x0001;
	public static final short BROADCAST_MSG_TO_CONNECTED_ONLY = 0x0002;
	public static final short BROADCAST_DROP_CONNECTIONS = 0x0003;
	
	/**
	 * Broadcast result codes
	 */
	
	public static final short BC_RES_SUCCESS = 0x0000;
	public static final short BC_RES_BAD_REQUEST = 0x0001;
	public static final short BC_RES_MSG_LEN_LIMIT = 0x0002;
	
	/**
	 * Available user commands
	 */
	
	public static final short CMD_USER_ADD = 0x0001;
	public static final short CMD_USER_DEL = 0x0002;
	public static final short CMD_USER_UPD = 0x0003;
	public static final short CMD_USER_BAN = 0x0004;
	public static final short CMD_USER_UNBAN = 0x0005;
	public static final short CMD_USER_KICK = 0x0006;
	public static final short CMD_USER_DETAILS = 0x0007;
	public static final short CMD_USER_CLEARCL = 0x0008;
	
	/**
	 * User operation result codes
	 */
	
	public static final short USER_RES_SUCCESS = 0x0000;
	public static final short USER_RES_BAD_REQUEST = 0x0001;
	public static final short USER_RES_NOT_FOUND = 0x0002;
	public static final short USER_RES_ALREADY_EXISTS = 0x0003;
	public static final short USER_RES_LEN_LIMIT = 0x0004;
	public static final short USER_RES_SERVICE_TEMP_UNAVAILABLE = 0x0005;
	
	/**
	 * Admin list types
	 */
	
	public static final short LIST_TYPE_CONNECTED = 0x0001;
	public static final short LIST_TYPE_REGISTERED = 0x0002;
	public static final short LIST_TYPE_LAST_REGED = 0x0003;
	
	/**
	 * List request result codes
	 */
	
	public static final short LIST_REQ_FINISHED = 0x0000;
	public static final short LIST_REQ_MORE_AVAILABLE = 0x0001;
	public static final short LIST_REQ_BAD_REQUEST = 0x0002;
	
	/**
	 * Base reply codes
	 */
	
	public static final short BASE_REQ_DONE = 0x0000;
	public static final short BASE_LOADED = 0x0001;
	public static final short BASE_LOAD_FAILED = 0x0002;
	public static final short BASE_UNAVAILABLE = 0x0003;
	public static final short BASE_NOT_FOUND = 0x0004;
	public static final short BASE_CANT_ADD_ACC_EXISTS = 0x0005;
	public static final short BASE_BAD_REQUEST = 0x0006;
	
	/**
	 * Internal authorization messages types
	 */
	
	public static final byte AUTH_TYPE_REQUEST = 0x01;
	public static final byte AUTH_TYPE_REPLY  = 0x02;
	public static final byte AUTH_TYPE_REVOKE = 0x03;
	
	/**
	 * Contact list default limits
	 */
	
	public static final short CL_MAX_GROUPS_COUNT = 4000;
	public static final short CL_MAX_GROUP_NAME_LEN = 512;
	public static final short CL_MAX_CONTACTS_COUNT = 8000;
	public static final short CL_MAX_CONTACT_NAME_LEN = 512;
	public static final short CL_MAX_AUTH_REASON_LEN = 2048;
	public static final short CL_MAX_USER_STLDS_COUNT = 3;
	public static final short CL_MAX_USER_STLD_LEN = 1024;
	
	/**
	 * Presence default limits
	 */
	
	public static final short PRES_MAX_STATUS_NAME_LEN = 128;
	public static final short PRES_MAX_ST_PIC_DESC_LEN = 512;
	public static final short PRES_MAX_CLIENT_NAME_LEN = 128;
	public static final short PRES_MAX_CAPS_COUNT = 64;
	
	/**
	 * Instant messaging default limits
	 */
	
	public static final int IM_MAX_MSG_DATA_LEN = 32768;
	public static final short IM_MAX_MULTIPLE_STLD_PER_BEX = 30;
	
	/**
	 * User directory default limits 
	 */
	
	public static final short UD_MAX_DETAILS_FIELD_LEN = 512;
	public static final short UD_MAX_ABOUT_FIELD_LEN = 2048;
	
	/**
	 * User avatars default limits
	 */
	
	public static final int UA_MAX_AVATAR_FILE_SIZE = 32768;
	
	/**
	 * Contact list Item types
	 */
	
	public static final short CL_ITEM_TYPE_GROUP = 0x0001;
	public static final short CL_ITEM_TYPE_CONTACT = 0x0002;
	
	/**
	 * Contact list Item STld types
	 */
	
	public static final short TLD_CL_GROUP_NAME = 0x0001;
	public static final short TLD_CL_ACCOUNT_NAME = 0x0002;
	public static final short TLD_CL_CONTACT_NAME = 0x0003;
	public static final short TLD_CL_PRIVACY_TYPE = 0x0004;
	public static final short TLD_CL_AUTH_FLAG = 0x0005;
	public static final short TLD_CL_GEN_FLAG = 0x0006;
	
	public static final int TLD_CL_DEV_STLD_MIN = 0x8000;
	public static final int TLD_CL_DEV_STLD_MAX = 0xFFFF;
	
	/**
	 * Contact privacy types
	 */
	public static final byte CL_PRIV_TYPE_NONE = 0x00;
	public static final byte CL_PRIV_TYPE_VISIBLE_LIST = 0x01;
	public static final byte CL_PRIV_TYPE_INVISIBLE_LIST = 0x02;
	public static final byte CL_PRIV_TYPE_IGNORE_LIST = 0x03;
	public static final byte CL_PRIV_TYPE_IGNORE_NOT_IN_LIST = 0x04;
	// Don't forget to update if adding new privacy type
	public static final byte CL_PRIV_TYPE_MAX = CL_PRIV_TYPE_IGNORE_NOT_IN_LIST;
	
	/**
	 * Adding contact result codes
	 */
	
	public static final short ADD_RES_SUCCESS = 0x0000;
	public static final short ADD_RES_ERROR_WRONG_ITEM_TYPE = 0x0001;
	public static final short ADD_RES_ERROR_WRONG_PARENT_GROUP = 0x0002;
	public static final short ADD_RES_ERROR_NAME_LEN_LIMIT = 0x0003;
	public static final short ADD_RES_ERROR_WRONG_NAME = 0x0004;
	public static final short ADD_RES_ERROR_ITEM_ALREADY_EXISTS = 0x0005;
	public static final short ADD_RES_ERROR_ITEM_LIMIT_REACHED = 0x0006;
	public static final short ADD_RES_ERROR_BAD_REQUEST = 0x0007;
	public static final short ADD_RES_ERROR_BAD_ITEM_STLD = 0x0008;
	public static final short ADD_RES_ERROR_NOT_ALLOWED = 0x0009;
	
	/**
	 * Deletion contact result codes
	 */
	public static final short DEL_RES_SUCCESS = 0x0000;
	public static final short DEL_RES_ERROR_NOT_FOUND = 0x0001;
	public static final short DEL_RES_ERROR_NOT_ALLOWED = 0x0002;
	public static final short DEL_RES_ERROR_GROUP_NOT_EMPTY = 0x0003;
	
	/**
	 * Update contact operation result codes
	 */
	
	public static final short UPD_RES_SUCCESS = 0x0000;
	public static final short UPD_RES_ERROR_NOT_FOUND = 0x0001;
	public static final short UPD_RES_ERROR_WRONG_PARENT_GROUP = 0x0002;
	public static final short UPD_RES_ERROR_NAME_LEN_LIMIT = 0x0003;
	public static final short UPD_RES_ERROR_WRONG_NAME = 0x0004;
	public static final short UPD_RES_ERROR_ITEM_ALREADY_EXISTS = 0x0005;
	public static final short UPD_RES_ERROR_BAD_REQUEST = 0x0006;
	public static final short UPD_RES_ERROR_BAD_ITEM_STLD = 0x0007;
	public static final short UPD_RES_ERROR_NOT_ALLOWED = 0x0008;
	
	/**
	 * Authorization reply code
	 */
	
	public static final short AUTH_REPLY_GRANTED = 0x0001;
	public static final short AUTH_REPLY_DENIED = 0x0002;
	
	/**
	 * Available client capabilities
	 */
	
	public static final short CAP_MSGS_UTF8 = 0x0001;
	public static final short CAP_MSGS_RTF = 0x0002;
	public static final short CAP_MSGS_HTML = 0x0003;
	public static final short CAP_MSGS_ENCRYPT = 0x0004;
	public static final short CAP_NOTIFS_TYPING = 0x0005;
	public static final short CAP_AVATARS = 0x0006;
	public static final short CAP_FILE_TRANSFER = 0x0007;
	
	/**
	 * Available client types
	 */
	
	public static final short CLIENT_TYPE_USER = 0x0001;
	public static final short CLIENT_TYPE_BOT = 0x0002;
	public static final short CLIENT_TYPE_SERVICE = 0x0003;
	
	// Don't forget to update if adding new client type
	public static final short CLIENT_TYPE_MAX = CLIENT_TYPE_SERVICE;
	
	/**
	 * Available default presence status values
	 */
	
	public static final short PRES_STATUS_ONLINE = 0x0000;
	public static final short PRES_STATUS_INVISIBLE = 0x0001;
	public static final short PRES_STATUS_INVISIBLE_FOR_ALL = 0x0001;
	public static final short PRES_STATUS_FREE_FOR_CHAT = 0x0002;
	public static final short PRES_STATUS_AT_HOME = 0x0003;
	public static final short PRES_STATUS_AT_WORK = 0x0004;
	public static final short PRES_STATUS_LUNCH = 0x0005;
	public static final short PRES_STATUS_AWAY = 0x0006;
	public static final short PRES_STATUS_NOT_AVAILABLE = 0x0007;
	public static final short PRES_STATUS_OCCUPIED = 0x0008;
	public static final short PRES_STATUS_DO_NOT_DISTURB = 0x0009;
	
	public static final short PRES_STATUS_MAX = PRES_STATUS_DO_NOT_DISTURB;
	public static final int PRES_STATUS_DEVELOPER = 0x80000000;
	
	/**
	 * Message types
	 */
	
	public static final short MSG_TYPE_UTF8 = 0x0001;
	public static final short MSG_TYPE_RTF = 0x0002;
	public static final short MSG_TYPE_HTML = 0x0003;
	
	public static final short MSG_TYPE_MAX = MSG_TYPE_HTML;
	
	/**
	 * Available notifications types
	 */
	
	public static final short NOTIF_TYPE_USER_TYPING = 0x0001;
	
	/**
	 * Notification values
	 */
	
	public static final short NOTIF_VALUE_USER_TYPING_START = 0x0001;
	public static final short NOTIF_VALUE_USER_TYPING_FINISH = 0x0002;
	
	/**
	 * Available encryption types
	 */
	
	public static final short ENC_TYPE_DISABLED = 0x0000;
	public static final short ENC_TYPE_OBIMP = 0x0001;
	public static final short ENC_TYPE_PGP = 0x0002;
	
	public static final short ENC_TYPE_MAX = ENC_TYPE_PGP;
	
	/**
	 * User details request result codes
	 */
	
	public static final short DETAILS_RES_SUCCESS = 0x0000;
	public static final short DETAILS_RES_NOT_FOUND = 0x0001;
	public static final short DETAILS_RES_TOO_MANY_REQUESTS = 0x0002;
	public static final short DETAILS_RES_SERVICE_TEMP_UNAVAILABLE = 0x0003;
	
	/**
	 * Update details result codes
	 */
	
	public static final short UPD_DETAILS_RES_SUCCESS = 0x0000;
	public static final short UPD_DETAILS_RES_BAD_REQUEST = 0x0001;
	public static final short UPD_DETAILS_RES_SERVICE_TEMP_UNAVAILABLE = 0x0002;
	
	/**
	 * Search result codes
	 */
	
	public static final short SEARCH_RES_SUCCESS = 0x0000;
	public static final short SEARCH_RES_NOT_FOUND = 0x0001;
	public static final short SEARCH_RES_BAD_REQUEST = 0x0002;
	public static final short SEARCH_RES_TOO_MANY_REQUESTS = 0x0003;
	public static final short SEARCH_RES_SERVICE_TEMP_UNAVAILABLE = 0x0004;
	
	/**
	 * Update secure email or password result codes
	 */
	
	public static final short UPD_SECURE_RES_SUCCESS = 0x0000;
	public static final short UPD_SECURE_RES_BAD_REQUEST = 0x0001;
	public static final short UPD_SECURE_RES_SERVICE_TEMP_UNAVAILABLE = 0x0002;
	public static final short UPD_SECURE_RES_NOT_ALLOWED = 0x0003;
	
	/**
	 * Zodiac signs
	 */

	public static final byte ZODIAC_ARIES = 0x01;
	public static final byte ZODIAC_TAURUS = 0x02;
	public static final byte ZODIAC_GEMINI = 0x03;
	public static final byte ZODIAC_CANCER = 0x04;
	public static final byte ZODIAC_LEO = 0x05;
	public static final byte ZODIAC_VIRGO = 0x06;
	public static final byte ZODIAC_LIBRA = 0x07;
	public static final byte ZODIAC_SCORPIO = 0x08;
	public static final byte ZODIAC_SAGITTARIUS = 0x09;
	public static final byte ZODIAC_CAPRICORN = 0x0A;
	public static final byte ZODIAC_AQUARIUS = 0x0B;
	public static final byte ZODIAC_PISCES = 0x0C;
	
	/**
	 * Avatar request result
	 */
	public static final short AVATAR_REQ_SUCCESS = 0x0000;
	public static final short AVATAR_REQ_NOT_FOUND = 0x0001;
	public static final short AVATAR_REQ_NOT_ALLOWED = 0x0002;
	
	/**
	 * Avatar set result
	 */
	
	public static final short AVATAR_SET_SUCCESS = 0x0000;
	public static final short AVATAR_SET_BAD_MD5 = 0x0001;
	public static final short AVATAR_SET_NOT_ALLOWED = 0x0002;
	public static final short AVATAR_SET_TEMP_UNAVAILABLE = 0x0003;
	
	/**
	 * File transfer reply codes
	 */
	
	public static final short FT_REPLY_CODE_ACCEPT = 0x0001;
	public static final short FT_REPLY_CODE_DECLINE = 0x0002;
	public static final short FT_REPLY_CODE_DISABLED = 0x0003;
	public static final short FT_REPLY_CODE_NOT_ALLOWED = 0x0004;
	
	public static final short FT_REPLY_CODE_MAX = FT_REPLY_CODE_NOT_ALLOWED;
	
	/**
	 * File transfer control codes
	 */
	
	public static final short FT_CONTROL_CODE_CANCEL = 0x0001;
	public static final short FT_CONTROL_CODE_DIRECT_FAILED = 0x0002;
	public static final short FT_CONTROL_CODE_DIRECT_FAILED_TRY_REVERSE = 0x0003;
	public static final short FT_CONTROL_CODE_DIRECT_FAILED_TRY_PROXY = 0x0004;
	public static final short FT_CONTROL_CODE_PROXY_FAILED = 0x0005;
	
	public static final short FT_CONTROL_CODE_MAX = FT_CONTROL_CODE_PROXY_FAILED;
	
	/**
	 * File transfer error codes
	 */
	
	public static final short FT_ERROR_CODE_TIMEOUT = 0x0001;
	public static final short FT_ERROR_CODE_WRONG_UNIQ_FT_ID = 0x0002;
	public static final short FT_ERROR_CODE_WRONG_FILE_NAME = 0x0003;
	public static final short FT_ERROR_CODE_WRONG_RELATIVE_PATH = 0x0004;
	public static final short FT_ERROR_CODE_WRONG_RESUME_POS = 0x0005;
	public static final short FT_ERROR_CODE_PROXY_TRAFFIC_LIMIT = 0x0006;
	
	
	/**
	 * TLD Types
	 */
	public static final short WTLD_UTF8_ACCOUNT_NAME = 0x0001;
	
}
